home *** CD-ROM | disk | FTP | other *** search
/ Turnbull China Bikeride / Turnbull China Bikeride - Disc 2.iso / STUTTGART / UNIXTOOL / UNIXLIB37B / !UnixLib37_netlib_clib_unixlib_s_asm_dec0 < prev    next >
Encoding:
Text File  |  1996-10-31  |  7.2 KB  |  265 lines

  1. ;----------------------------------------------------------------------------
  2. ;
  3. ; $Source: /unixb/home/unixlib/source/unixlib37/clib/sys/s/RCS/asm_dec,v $
  4. ; $Date: 1996/10/30 21:58:59 $
  5. ; $Revision: 1.5 $
  6. ; $State: Exp $
  7. ; $Author: unixlib $
  8. ;
  9. ; Declare registers and SWIs we will be calling.
  10. ;
  11. ; $Log: asm_dec,v $
  12. ; Revision 1.5  1996/10/30 21:58:59  unixlib
  13. ; Massive changes made by Nick Burret and Peter Burwood.
  14. ;
  15. ; Revision 1.4  1996/09/16 21:23:51  unixlib
  16. ; CL_0002 Nick Burret
  17. ; Minor changes to file handling
  18. ; Change most error numbers, and use in assembler sources (SJC)
  19. ; Various minor bug fixes and compatability changes.
  20. ;
  21. ; Revision 1.3  1996/07/21 22:15:12  unixlib
  22. ; CL_0001 Nick Burret
  23. ; Improve memory handling. Remove C++ library incompatibilities.
  24. ; Improve file stat routines.
  25. ;
  26. ; Revision 1.2  1996/05/06 09:01:33  unixlib
  27. ; Updates to sources made by Nick Burrett, Peter Burwood and Simon Callan.
  28. ; Saved for 3.7a release.
  29. ;
  30. ; Revision 1.1  1996/04/19 22:02:19  simon
  31. ; Initial revision
  32. ;
  33. ;----------------------------------------------------------------------------
  34.  
  35. ; Bits that control which bits are compiled into UnixLib. Note, this must be
  36. ; kept in sync with <sys/syslib.h>, <signal.h> and <errno.h>.
  37.  
  38. ; Is an alloca() failure fatal? Nick says yes, Linux says no.
  39. ALLOCA_FATAL    EQU    1
  40. ; Do paranoid checks ?
  41. PARANOID    EQU    1
  42. ; Use dynamic areas for heap on RISC OS 3.5+
  43. DYNAMIC_AREA    EQU    1
  44. ; Align things to 4K boundaries for exec
  45. |__4K_BOUNDARY|    EQU    0
  46.  
  47. ; registers
  48.  
  49. r0    RN    0
  50. r1    RN    1
  51. r2    RN    2
  52. r3    RN    3
  53. r4    RN    4
  54. r5    RN    5
  55. r6    RN    6
  56. r7    RN    7
  57. r8    RN    8
  58. r9    RN    9
  59. r10    RN    10
  60. r11    RN    11
  61. r12    RN    12
  62. r13    RN    13
  63. r14    RN    14
  64. r15    RN    15
  65.  
  66. a1    RN    0    ; Argument 1
  67. a2    RN    1    ; Argument 2
  68. a3    RN    2    ; Argument 3
  69. a4    RN    3    ; Argument 4
  70. v1    RN    4    ; Variable 1
  71. v2    RN    5    ; Variable 2
  72. v3    RN    6    ; Variable 3
  73. v4    RN    7    ; Variable 4
  74. v5    RN    8    ; Variable 5
  75. v6    RN    9    ; Variable 6
  76.  
  77. sl    RN    10    ; Stack limit / stack chunk handle
  78. fp    RN    11    ; frame pointer
  79. ip    RN    12    ; Tempory workspace, used in procedure entry
  80. sp    RN    13    ; Stack pointer
  81. lr    RN    14    ; Link register
  82. pc    RN    15    ; Program counter
  83.  
  84. f0    FN    0
  85. f1    FN    1
  86. f2    FN    2
  87. f3    FN    3
  88. f4    FN    4
  89. f5    FN    5
  90. f6    FN    6
  91. f7    FN    7
  92.  
  93. NFlag    EQU    &80000000    ; Negative flag
  94. ZFlag    EQU    &40000000    ; Zero flag
  95. CFlag    EQU    &20000000    ; Carry flag
  96. VFlag    EQU    &10000000    ; Overflow flag
  97. IFlag    EQU    &08000000    ; IRQ disable
  98. FFlag    EQU    &04000000    ; FIRQ disable
  99.  
  100.  
  101.     MACRO
  102.     NAME    $name
  103.     DCB    "$name",0
  104.     ALIGN
  105.     DCD    &FF000000 + (:LEN: "$name"+3) :AND &FFFFFFFC
  106.     MEND
  107.  
  108. EXIT_SUCCESS    EQU    0
  109. EXIT_FAILURE    EQU    1
  110.  
  111. SIGHUP    EQU    1    ;   hangup
  112. SIGINT    EQU    2    ;   terminal interrupt
  113. SIGQUIT EQU    3    ; * ^\ from terminal
  114. SIGILL    EQU    4    ; * illegal instruction
  115. SIGTRAP EQU    5    ; * trace trap - unused
  116. SIGIOT    EQU    6    ;   abort
  117. SIGABRT EQU    6    ;   abort
  118. SIGEMT    EQU    7    ; * EMT (h/ware error)
  119. SIGFPE    EQU    8    ; * FPE trap
  120. SIGKILL EQU    9    ;   kill signal
  121. SIGBUS    EQU    10    ; * bus error
  122. SIGSEGV EQU    11    ; * segmentation violation
  123. SIGSYS    EQU    12    ; * bad system call
  124. SIGPIPE EQU    13    ;   broken pipe
  125. SIGALRM EQU    14    ;   alarm call
  126. SIGTERM EQU    15    ;   termination signal
  127. SIGURG    EQU    16    ;   urgent or out-of-band data
  128. SIGSTOP    EQU    17    ;   stop, unblockable
  129. SIGTSTP    EQU    18    ;   keyboard stop
  130. SIGCONT    EQU    19    ;   continue
  131. SIGCHLD    EQU    20    ;   child process has terminated/stopped
  132. SIGCLD    EQU    SIGCHLD
  133. SIGTTIN    EQU    21    ;   background read from tty
  134. SIGTTOU    EQU    22    ;   background write to tty
  135. SIGIO    EQU    23    ;   file descriptor is ready to perform I/O
  136. SIGPOLL    EQU    SIGIO
  137. SIGXCPU    EQU    24    ;   CPU time limit exceeded
  138. SIGXFSZ    EQU    25    ;   file size limit exceeded
  139. SIGVTALRM EQU    26    ;   alarm call
  140. SIGPROF EQU    27    ;   profiler alarm call
  141. SIGWINCH EQU    28    ;   window size change
  142. SIGINFO EQU    29    ;   information request
  143. SIGUSR1 EQU    30    ;   user signal 1
  144. SIGUSR2 EQU    31    ;   user signal 2
  145. SIGLOST EQU    32    ;   resource lost
  146. SIGERR    EQU    33    ;   RiscOS error
  147.  
  148. EOPSYS    EQU    106    ; RISC OS error
  149.  
  150. OS_WriteS    EQU    &000001
  151. OS_NewLine    EQU    &000003
  152. OS_Exit        EQU    &000011
  153. OS_EnterOS    EQU    &000016
  154. OS_GenerateError    EQU    &00002B
  155.  
  156. X_Bit    EQU    &20000
  157.  
  158. XOS_WriteC            EQU    &000000 + X_Bit
  159. XOS_WriteS            EQU    &000001 + X_Bit
  160. XOS_Write0            EQU    &000002 + X_Bit
  161. XOS_NewLine            EQU    &000003 + X_Bit
  162. XOS_ReadC            EQU    &000004 + X_Bit
  163. XOS_CLI                EQU    &000005 + X_Bit
  164. XOS_Byte            EQU    &000006 + X_Bit
  165. XOS_Word            EQU    &000007 + X_Bit
  166. XOS_File            EQU    &000008 + X_Bit
  167. XOS_Args            EQU    &000009 + X_Bit
  168. XOS_GBPB            EQU    &00000C + X_Bit
  169. XOS_Find            EQU    &00000D + X_Bit
  170. XOS_GetEnv            EQU    &000010 + X_Bit
  171. XOS_IntOn            EQU    &000013 + X_Bit
  172. XOS_EnterOS            EQU    &000016 + X_Bit
  173.  
  174. XOS_SetCallBack            EQU    &00001B + X_Bit
  175. XOS_Module            EQU    &00001E + X_Bit
  176. XOS_ReadVarVal            EQU    &000023 + X_Bit
  177. XOS_FSControl            EQU    &000029 + X_Bit
  178. XOS_ChangeDynamicArea        EQU    &00002A + X_Bit
  179. XOS_CallAfter            EQU    &00003B + X_Bit
  180. XOS_CallEvery            EQU    &00003C + X_Bit
  181. XOS_RemoveTickerEvent        EQU    &00003D + X_Bit
  182. XOS_ChangeEnvironment        EQU    &000040 + X_Bit
  183. XOS_ReadMonotonicTime        EQU    &000042 + X_Bit
  184. XOS_WriteN            EQU    &000046 + X_Bit
  185. XOS_ReadMemMapInfo        EQU    &000051 + X_Bit
  186. XOS_AddCallBack            EQU    &000054 + X_Bit
  187. XOS_SerialOp            EQU    &000057 + X_Bit
  188. XOS_DynamicArea            EQU    &000066 + X_Bit
  189. XOS_PlatformFeatures        EQU    &00006D + X_Bit
  190. XOS_SynchroniseCodeAreas    EQU    &00006E + X_Bit
  191. XOS_CallASWI            EQU    &00006F + X_Bit
  192. XOS_CallASWIR12            EQU    &000071 + X_Bit
  193. XOS_ConvertHex8            EQU    &0000D4 + X_Bit
  194.  
  195. XFPEmulator_Version        EQU    &040480 + X_Bit
  196.  
  197. Socket_Creat            EQU    &41200
  198. Socket_Bind            EQU    &41201
  199. Socket_Listen            EQU    &41202
  200. Socket_Accept            EQU    &41203
  201. Socket_Connect            EQU    &41204
  202. Socket_Recv            EQU    &41205
  203. Socket_Recvfrom            EQU    &41206
  204. Socket_Recvmsg            EQU    &41207
  205. Socket_Send            EQU    &41208
  206. Socket_Sendto            EQU    &41209
  207. Socket_Sendmsg            EQU    &4120A
  208. Socket_Shutdown            EQU    &4120B
  209. Socket_Setsockopt        EQU    &4120C
  210. Socket_Getsockopt        EQU    &4120D
  211. Socket_Getpeername        EQU    &4120E
  212. Socket_Getsockname        EQU    &4120F
  213. Socket_Close            EQU    &41210
  214. Socket_Select            EQU    &41211
  215. Socket_Ioctl            EQU    &41212
  216. Socket_Read            EQU    &41213
  217. Socket_Write            EQU    &41214
  218. Socket_Stat            EQU    &41215
  219. Socket_Readv            EQU    &41216
  220. Socket_Writev            EQU    &41217
  221. Socket_Gettsize            EQU    &41218
  222. Socket_Sendtosm            EQU    &41219
  223.  
  224. Internet_GetHostByName        EQU    &46000
  225. Internet_GetHostByAddr        EQU    &46001
  226.  
  227. XSocket_Creat            EQU    Socket_Creat + X_Bit
  228. XSocket_Bind            EQU    Socket_Bind + X_Bit
  229. XSocket_Listen            EQU    Socket_Listen + X_Bit
  230. XSocket_Accept            EQU    Socket_Accept + X_Bit
  231. XSocket_Connect            EQU    Socket_Connect + X_Bit
  232. XSocket_Recv            EQU    Socket_Recv + X_Bit
  233. XSocket_Recvfrom        EQU    Socket_Recvfrom + X_Bit
  234. XSocket_Recvmsg            EQU    Socket_Recvmsg + X_Bit
  235. XSocket_Send            EQU    Socket_Send + X_Bit
  236. XSocket_Sendto            EQU    Socket_Sendto + X_Bit
  237. XSocket_Sendmsg            EQU    Socket_Sendmsg + X_Bit
  238. XSocket_Shutdown        EQU    Socket_Shutdown + X_Bit
  239. XSocket_Setsockopt        EQU    Socket_Setsockopt + X_Bit
  240. XSocket_Getsockopt        EQU    Socket_Getsockopt + X_Bit
  241. XSocket_Getpeername        EQU    Socket_Getpeername + X_Bit
  242. XSocket_Getsockname        EQU    Socket_Getsockname + X_Bit
  243. XSocket_Close            EQU    Socket_Close + X_Bit
  244. XSocket_Select            EQU    Socket_Select + X_Bit
  245. XSocket_Ioctl            EQU    Socket_Ioctl + X_Bit
  246. XSocket_Read            EQU    Socket_Read + X_Bit
  247. XSocket_Write            EQU    Socket_Write + X_Bit
  248. XSocket_Stat            EQU    Socket_Stat + X_Bit
  249. XSocket_Readv            EQU    Socket_Readv + X_Bit
  250. XSocket_Writev            EQU    Socket_Writev + X_Bit
  251. XSocket_Gettsize        EQU    Socket_Gettsize + X_Bit
  252. XSocket_Sendtosm        EQU    Socket_Sendtosm + X_Bit
  253.  
  254. XInternet_GetHostByName        EQU    Internet_GetHostByName + X_Bit
  255. XInternet_GetHostByAddr        EQU    Internet_GetHostByAddr + X_Bit
  256.  
  257. XSharedCLibrary_LibInitAPCS_R    EQU    &080681 + X_Bit
  258. XSharedCLibrary_LibInitModule    EQU    &080682 + X_Bit
  259.  
  260. XMessageTrans_ErrorLookup    EQU    &041506 + X_Bit
  261.  
  262. XTaskWindow_TaskInfo        EQU    &043380 + X_Bit
  263.  
  264.     END
  265.